ci: three-OS PR test gate + tag-on-main versioned releases#14
Conversation
CI becomes the PR go/no-go: the model-free suite (engine/metal skips without a metallib, hip contract tests host-side) runs on linux+macos as REQUIRED lanes and windows as EXPERIMENTAL (continue-on-error) until the cgo-on windows graph is proven — its logs name the real offenders either way. Each lane: go/ module suite (GOWORK=off, the published dep surface), cli tui suite (workspace), and the examples module compiled + vetted (the acceptance surface — every public feature ships with its example, so compiling all of them catches API breakage without a model). Build gains tags: v* — a version tag publishes the REAL release, guarded by a merge-base ancestry check (tag not on main = loud red, no release); dev pushes keep the rolling dev prerelease. Binary main.version and the zip names carry the tag on tag builds. Co-Authored-By: Virgil <virgil@lethean.io>
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Warning Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |



Two asks from the owner, both riding the now-green CI:
PR gate: the model-free test surface runs win/mac/lin on every PR into dev — go/ module suite (GOWORK=off), cli tui suite (workspace), and the
examples/module compiled+vetted (the acceptance surface: every public feature ships with its example, so compiling them all catches API breakage with no model loaded). linux+macos are the REQUIRED go/no-go checks; windows is EXPERIMENTAL (continue-on-error) until the cgo-on windows graph is proven — its logs will name the real portability offenders either way. Branch protection requiring the two checks lands after this merges (check names:tests · linux,tests · macos).Tag releases:
Buildnow also fires onv*tags. A guard job verifies the tagged commit is an ancestor of main — a tag off main fails LOUDLY instead of silently minting a release. Tag builds bake the tag intomain.version, name the zips with it, and publish a real (non-prerelease) release; dev pushes keep the rollingdevprerelease unchanged.This PR's own checks exercise the new matrix live.
🤖 Generated with Claude Code
Co-Authored-By: Virgil virgil@lethean.io